/*
n^n的末位数字
给出一个整数N，输出N^N（N的N次方）的十进制表示的末位数字。
Input
一个数N（1 <= N <= 10^9）
Output
输出N^N的末位数字
Input示例
13
Output示例
3
*/

#include <bits/stdc++.h>
#define ll long long
#define PI acos(-1)
#define M(n, m) memset(n, m, sizeof(n));
const int INF = 1e9 + 7;
const int maxn = 1e5;
using namespace std;
int a[maxn], n;
int main()
{
    while(cin >> n)
    {
        memset(a, 0, sizeof(a));
        // 0的0次方是它本身
        if(n == 0)
        {
            printf("1");
            continue;
        }

        int k = n % 10;
        // 如果末位数是0，则n^n后还是0
        if(k == 0)
        {
            printf("0\n");
            continue;
        }

        // 查找循环节
        a[0] = k;
        int cnt = 1;
        while(1)
        {
            a[cnt] = a[cnt-1] * k % 10;
            if(a[cnt] == k)
                break;
            cnt ++;
        }
        // 查找第n个数在循环节中的位置
        int x = (n - 1) % cnt;
        cout << a[x] << endl;
    }
}
